iT邦幫忙

2024 iThome 鐵人賽

DAY 11
0

第五章後半,集合、資料排序與轉檔

Python也能夠使用集合功能

set():集合,能夠儲存多筆無排序且不重複的資料值

data [13, 24, 57, 24]
set(data)
->{24, 57, 13}

enumerate():列舉,自動產生累加1的數值

for num, i in enumerate(參數):
    print(num, ‘   ‘ ,  i)

操作集合資料的方法

add():新增一個元素,不限類型
update():新增多個元素,元素必須是可迭代類型
pop():取出第一個元素並刪除
discard():刪除指定元素,元素不存在則忽略
remove():刪除指定元素,元素不存在則錯誤
clear():清空整個集合

這裡的集合也與數學一樣有差集、交集和聯集

difference():差集
intersection():交集
union():聯集

例
A = { ‘商品5’ , ’商品4’ , ’商品3’ }
B = { ‘商品3’ , ’商品2’ , ’商品1’ }

R = A - B           可改寫R = A.difference(B)

-> { ‘商品5’ , ’商品4’ }

資料排序:

集合屬於內容不可變物件
sort():排序,由小到大,僅會依照第一個字元比較,且會改變原有列表的資料排列,因此不能排序集合
reverse:能改變排列順序 reverse=True
key:自訂排序
sorted():會產生新的列表,原有列表資料不變,能排序集合

lambda:匿名函式,用在簡短程式碼,用冒號區隔參數與傳回值

def add(x, y):
    return x + y
    
用lambda改寫
lambda x,y : x+y
def num(s):
    return int(s[:-1])

用lambda
lambda s:int(s[:-1])

轉檔:

FFmpeg多媒體工具程式,具備影音壓縮、轉檔、剪輯、合併、視訊截圖、加字幕等強大的功能
他有三個文字命令工具程式
ffmpeg:編輯與轉換視訊和聲音的核心工具
ffplay:媒體播放器
ffprobe:讀取視訊和聲音的串流資訊

此書只使用ffmpeg工具
若要轉檔僅需切換到ffmpeg所在路徑並輸入

ffmpeg -i 輸入檔名 指令參數 輸出檔名

指令參數:

-ab:設定音訊的位元速率
-ar:設定音訊取樣頻率
-ac:設定聲道數,立體聲為2
-vn:不要輸出影音檔案裡的視訊

合併視訊:

把所需合併的視訊檔路徑和檔名寫在純文字檔內
再輸入

ffmpeg -f concat -safe 0 -i video.txt -c copy 合併後檔名

第五章重點

  • 當前的 Pvthon套件管理工具主流是 pip,套件的封裝格式命名為.whl在PyPi網站pypi.org可搜尋 Python 的程式套件。
  • 集合(set)類型用於儲存多筆無排列順序且不重複資料值。建立空集合時,必須執行 set();宣告包含預設值的集合時,使用大括號包圍資料。
  • 匿名函式用 lambda關鍵字開頭,用冒號分隔參數和傳回值。
  • 終端機視窗的 CLI 命令行指令,可透過 os 程式庫的 system()函式執行。

上一篇
Day10 下載 youtube影片
下一篇
Day12 網頁資訊
系列文
從0開始學PYTHON30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言